﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BLL.DTO.Propiedad;
using DAL.Entities;

namespace BLL.Mappers
{
    public class CasaMapper
    {
        #region [ToDTO]

        public static CasaDTO ToDTO(Casa entity)
        {
            return new CasaDTO()
            {
                AnoConstruccion = entity.ICAS_ANO_CONSTRUCCION,
                CantidadBanos = entity.ICAS_BANOS,
                CantidadDormitorios = entity.ICAS_DORMITORIOS,
                CantidadEstacionamiento = entity.ICAS_ESTACIONAMIENTO,
                DescirpcionComedor = entity.VCAS_COMEDOR,
                DescripcionLiving = entity.VCAS_LIVING,
                Detalle = entity.TCAS_DETALLE,
                Distribucion = entity.TCAS_DISTRIBUCION,
                Estilo = entity.CCAS_ESTILO,
                IdCasa = entity.ICAS_PK,
                IdPropiedad = entity.IPRO_FK,
                Orientacion = entity.VCAS_ORIENTACION,
                TipoConstruccion = entity.CCAS_TIPO_CONSTRUCCION
            };
        }

        public static List<CasaDTO> ToDTO(List<Casa> entities)
        {
            return entities.Select(e => ToDTO(e)).ToList();
        }

        #endregion

        #region [ToEntity]

        public static Casa ToEntity(CasaDTO dto)
        {
            return new Casa()
            {
                CCAS_ESTILO = dto.Estilo,
                CCAS_TIPO_CONSTRUCCION = dto.TipoConstruccion,
                ICAS_ANO_CONSTRUCCION = dto.AnoConstruccion,
                ICAS_BANOS = dto.CantidadBanos,
                ICAS_DORMITORIOS = dto.CantidadDormitorios,
                ICAS_ESTACIONAMIENTO = dto.CantidadEstacionamiento,
                IPRO_FK = dto.IdPropiedad,
                TCAS_DETALLE = dto.Detalle,
                TCAS_DISTRIBUCION = dto.Distribucion,
                VCAS_COMEDOR = dto.DescirpcionComedor,
                VCAS_LIVING = dto.DescripcionLiving,
                VCAS_ORIENTACION = dto.Orientacion
            };
        }

        public static List<Casa> ToEntity(List<CasaDTO> dtos)
        {
            return dtos.Select(d => ToEntity(d)).ToList();
        }

        #endregion
    }
}
